home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
p4
/
p4-1_2c.lha
/
p4-1.2c
/
CHANGES
next >
Wrap
Text File
|
1993-05-24
|
4KB
|
89 lines
1) All p4 options now start with "-p4":
-p4help get this message
-p4pg <file> set procgroup file
-p4dbg <level> set debug level
-p4rdbg <level> set remote debug level
-p4gm <size> set globmemsize
-p4dmn <name> set domainname
-p4out <file> set output file for master
-p4rout <file> set output file prefix for remote masters
-p4ssport <port> set private port number for secure server
-p4log enable internal p4 logging by alog
-p4version print current p4 version number
2) The major change to this version of p4 may require a small change
to user programs. Because a number of users complained about the
necessity of having a slave procedure even when it was unused, we
have eliminated the requirement. However, this caused us to
slightly alter the interface, and thus may require some users to
make small alterations to the start-up procedures in their
programs. The change is explained in detail (by example) below.
For further examples, see the programs in the messages subdirectory,
e.g. sr_test.c (SPMD) and sr_master.c / sr_slave.c (non-SPMD).
For programs supporting the Single-Program-Multiple-Data (SPMD)
model, i.e. programs in which all processes execute the same program:
Old Version New Version
------------------------------ ------------------------------
#include "p4.h #include "p4.h"
main(argc,argv) main(argc,argv)
int argc; int argc;
char **argv; char **argv;
{ {
p4_initenv(&argc,argv); p4_initenv(&argc,argv);
if (p4_get_my_id() == 0) p4_create_procgroup();
{ if (p4_get_my_id() == 0)
p4_create_procgroup(); {
master(); master();
} }
else else
{ {
slave(); slave();
exit(0); exit(0);
} }
p4_wait_for_end(); p4_wait_for_end();
} }
Note that programs in which the master process executes one program
and the remote slave processes execute some other program, the code
for the master proces is essentially the same as that pictured
above, except that if the programmer knows that a local slave
process will never be "forked", then the call to slave can be
eliminated. Also, in this model, the programmer used to code the
makefile such that the slave program would link with p4_cmain.
This is no longer supported because p4_cmain explicitly invoked a
procedure named "slave". Instead, the user must now supply a small
main procedure to invoke the slave procedure (which no longer has
to be named slave). An example main is given below (also, see
slave_main.c in the messages directory).
Separate Slave Main Procedure
------------------------------
#include "p4.h"
#include "sr_user.h"
main(argc, argv)
int argc;
char **argv;
{
p4_initenv(&argc, argv);
/*****
if (p4_am_i_cluster_master())
p4_dprintf("I am the cluster master\n");
*****/
slave();
p4_wait_for_end();
}